package com.edu.study.base.wordLearn.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import java.util.Date;

/**
 * 生词库，需要学习的词汇 正在学习的词汇 1、在“目标生词”库中顺序默认100个生词对象 edu_word_learn
 * 
 * @author admin
 * @date 2021-08-04
 */
public class EduWordLearn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 学校类型：
            1-学校
            2-教育机构 */
    @Excel(name = "学校类型：    1-学校   2-教育机构")
    private String wordId;

    /** 单词来源
     /// 卡片类型
     /// 1. 课程词汇
     /// 2. 词书词汇
     /// 3. 手动加入
     /// 4. 其它类型
     */
    @Excel(name = "单词来源   1-课文  2-搜索  3-考试分类 4-绘本")
    private String wordSource;

    /** 单词来源ID：
            单词来源1-课程ID
            单词来源2-空
            单词来源3-考试分类ID
            单词来源4-绘本ID */
    @Excel(name = "单词来源ID：   单词来源1-课程ID 单词来源2-空  单词来源3-考试分类ID 单词来源4-绘本ID")
    private String wordSourceid;

    /** 学界 */
    @Excel(name = "学界")
    private String memberId;

    /** KO标识 KO=0-正在学习的词汇  默认 KO>0是正在KO的词汇 */
    @Excel(name = "KO标识 KO=0-正在学习的词汇  默认 KO>0是正在KO的词汇")
    private Long ko;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "KO标识 KO=0-正在学习的词汇  默认 KO>0是正在KO的词汇", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date koDate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "KO标识 KO=0-正在学习的词汇  默认 KO>0是正在KO的词汇", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /** 删除标记(0:正常 1:删除 ) */
    private String delFlag;
    
    /**
     * 统计
     */
    @Transient
    private  int  count;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setWordId(String wordId) 
    {
        this.wordId = wordId;
    }

    public String getWordId() 
    {
        return wordId;
    }
    public void setWordSource(String wordSource) 
    {
        this.wordSource = wordSource;
    }

    public String getWordSource() 
    {
        return wordSource;
    }
    public void setWordSourceid(String wordSourceid) 
    {
        this.wordSourceid = wordSourceid;
    }

    public String getWordSourceid() 
    {
        return wordSourceid;
    }
    public void setMemberId(String memberId) 
    {
        this.memberId = memberId;
    }

    public String getMemberId() 
    {
        return memberId;
    }
    public void setKo(Long ko) 
    {
        this.ko = ko;
    }

    public Long getKo() 
    {
        return ko;
    }
    public void setKoDate(Date koDate) 
    {
        this.koDate = koDate;
    }

    public Date getKoDate() 
    {
        return koDate;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    
    

    public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("wordId", getWordId())
            .append("wordSource", getWordSource())
            .append("wordSourceid", getWordSourceid())
            .append("memberId", getMemberId())
            .append("ko", getKo())
            .append("koDate", getKoDate())
            .append("createDate", getCreateDate())
            .append("createBy", getCreateBy())
            .append("updateDate", getUpdateDate())
            .append("updateBy", getUpdateBy())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
